<!-- HTML header for doxygen 1.8.13-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Hardware Abstraction Layer (HAL)</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen_style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><a href="http://www.cypress.com/"><img alt="Logo" src="logo.png"/></a></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Hardware Abstraction Layer (HAL)</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('group__group__hal__impl__interconnect.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#groups">API Reference</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle"><div class="title">Interconnect (Internal Digital Routing)<div class="ingroups"><a class="el" href="group__group__hal__impl.html">CAT1 Implementation Specific</a></div></div></div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">General Description</h2>
<p >The interconnect system connects the various hardware peripherals using trigger signals. </p>
<p >Triggers are output when a particular event occurs or condition is met by one of the peripherals. These triggers can be routed to other peripherals using the interconnect system in order to initiate an action at the destination peripheral.</p>
<p >Peripherals must be configured to produce/accept trigger signals. Therefore in practice, there is no need to call <a class="el" href="group__group__hal__impl__interconnect.html#gac453611af1fda3452f2f73113c4ea3ee">_cyhal_connect_signal</a> manually. Instead, use the per-peripheral cyhal_*PERI*_connect_digital or cyhal_*PERI*_enable_output which will handle configuring the peripheral and making the connections internally.</p>
<p >Trigger routing is implemented using trigger multiplexers. A single source trigger can be routed to multiple destinations but a single destination can only be connected to a single source. There are different trigger layouts depending on device architecture.</p>
<p >Trigger routing is device specific. See <a class="el" href="group__group__hal__impl__triggers.html">Trigger Connections</a> for the available connections for your device. </p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="groups" name="groups"></a>
API Reference</h2></td></tr>
<tr class="memitem:group__group__hal__impl__triggers"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__hal__impl__triggers.html">Trigger Connections</a></td></tr>
<tr class="memdesc:group__group__hal__impl__triggers"><td class="mdescLeft">&#160;</td><td class="mdescRight">Trigger connections for supported device families: <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gac453611af1fda3452f2f73113c4ea3ee"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__result.html#gaca79700fcc701534ce61778a9bcf57d1">cy_rslt_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__hal__impl__interconnect.html#gac453611af1fda3452f2f73113c4ea3ee">_cyhal_connect_signal</a> (<a class="el" href="group__group__hal__impl__triggers__psoc6__01.html#ga96236d1368f920d28af90262e8b57046">cyhal_source_t</a> source, <a class="el" href="group__group__hal__impl__triggers__psoc6__01.html#gaa2df0778261ace69282e18e3ec39553c">cyhal_dest_t</a> dest)</td></tr>
<tr class="memdesc:gac453611af1fda3452f2f73113c4ea3ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connects two digital signals on the device using the internal interconnect.  <a href="group__group__hal__impl__interconnect.html#gac453611af1fda3452f2f73113c4ea3ee">More...</a><br /></td></tr>
<tr class="separator:gac453611af1fda3452f2f73113c4ea3ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabf43f8f45582c42a17ea04ba5f015bf4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__result.html#gaca79700fcc701534ce61778a9bcf57d1">cy_rslt_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__hal__impl__interconnect.html#gabf43f8f45582c42a17ea04ba5f015bf4">_cyhal_disconnect_signal</a> (<a class="el" href="group__group__hal__impl__triggers__psoc6__01.html#ga96236d1368f920d28af90262e8b57046">cyhal_source_t</a> source, <a class="el" href="group__group__hal__impl__triggers__psoc6__01.html#gaa2df0778261ace69282e18e3ec39553c">cyhal_dest_t</a> dest)</td></tr>
<tr class="memdesc:gabf43f8f45582c42a17ea04ba5f015bf4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disconnects two digital signals on the device that were previously connected using the internal interconnect.  <a href="group__group__hal__impl__interconnect.html#gabf43f8f45582c42a17ea04ba5f015bf4">More...</a><br /></td></tr>
<tr class="separator:gabf43f8f45582c42a17ea04ba5f015bf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0681e91ab0d3792eff85a723a60ed301"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__hal__impl__interconnect.html#ga0681e91ab0d3792eff85a723a60ed301">_cyhal_can_connect_signal</a> (<a class="el" href="group__group__hal__impl__triggers__psoc6__01.html#ga96236d1368f920d28af90262e8b57046">cyhal_source_t</a> source, <a class="el" href="group__group__hal__impl__triggers__psoc6__01.html#gaa2df0778261ace69282e18e3ec39553c">cyhal_dest_t</a> dest)</td></tr>
<tr class="memdesc:ga0681e91ab0d3792eff85a723a60ed301"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks to see if a signal can be connected between the provided source and dest.  <a href="group__group__hal__impl__interconnect.html#ga0681e91ab0d3792eff85a723a60ed301">More...</a><br /></td></tr>
<tr class="separator:ga0681e91ab0d3792eff85a723a60ed301"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="gac453611af1fda3452f2f73113c4ea3ee" name="gac453611af1fda3452f2f73113c4ea3ee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac453611af1fda3452f2f73113c4ea3ee">&#9670;&nbsp;</a></span>_cyhal_connect_signal()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__result.html#gaca79700fcc701534ce61778a9bcf57d1">cy_rslt_t</a> _cyhal_connect_signal </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__group__hal__impl__triggers__psoc6__01.html#ga96236d1368f920d28af90262e8b57046">cyhal_source_t</a>&#160;</td>
          <td class="paramname"><em>source</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__group__hal__impl__triggers__psoc6__01.html#gaa2df0778261ace69282e18e3ec39553c">cyhal_dest_t</a>&#160;</td>
          <td class="paramname"><em>dest</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Connects two digital signals on the device using the internal interconnect. </p>
<p >A single source can drive multiple destinations, but a destination can be driven by only one source. If the destination is already connected, or the connection can not be established an error will be returned. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">source</td><td>The source of the signal to connect </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dest</td><td>The destination of the signal to connect </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The status of the connect request </dd></dl>

</div>
</div>
<a id="gabf43f8f45582c42a17ea04ba5f015bf4" name="gabf43f8f45582c42a17ea04ba5f015bf4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabf43f8f45582c42a17ea04ba5f015bf4">&#9670;&nbsp;</a></span>_cyhal_disconnect_signal()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__result.html#gaca79700fcc701534ce61778a9bcf57d1">cy_rslt_t</a> _cyhal_disconnect_signal </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__group__hal__impl__triggers__psoc6__01.html#ga96236d1368f920d28af90262e8b57046">cyhal_source_t</a>&#160;</td>
          <td class="paramname"><em>source</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__group__hal__impl__triggers__psoc6__01.html#gaa2df0778261ace69282e18e3ec39553c">cyhal_dest_t</a>&#160;</td>
          <td class="paramname"><em>dest</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Disconnects two digital signals on the device that were previously connected using the internal interconnect. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">source</td><td>The source of the signal to disconnect </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dest</td><td>The destination of the signal to disconnect </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The status of the disconnect request </dd></dl>

</div>
</div>
<a id="ga0681e91ab0d3792eff85a723a60ed301" name="ga0681e91ab0d3792eff85a723a60ed301"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0681e91ab0d3792eff85a723a60ed301">&#9670;&nbsp;</a></span>_cyhal_can_connect_signal()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool _cyhal_can_connect_signal </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__group__hal__impl__triggers__psoc6__01.html#ga96236d1368f920d28af90262e8b57046">cyhal_source_t</a>&#160;</td>
          <td class="paramname"><em>source</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__group__hal__impl__triggers__psoc6__01.html#gaa2df0778261ace69282e18e3ec39553c">cyhal_dest_t</a>&#160;</td>
          <td class="paramname"><em>dest</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Checks to see if a signal can be connected between the provided source and dest. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">source</td><td>The source of the signal to check </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dest</td><td>The destination of the signal to check </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Indication of whether a signal can connect between the provided points </dd></dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part
<div id="nav-path" class="navpath">
    <ul>
        <li class="footer">
            Generated for <b>Hardware Abstraction Layer (HAL)</b> by <b>Cypress Semiconductor Corporation</b>.
            All rights reserved.
        </li>
    </ul>
</div>
-->
</body>
</html>
